using ServiceStack.Configuration;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
namespace ServiceStack.Web
{
	public interface IRequest : IResolver
	{
		object OriginalRequest
		{
			get;
		}
		IResponse Response
		{
			get;
		}
		string OperationName
		{
			get;
			set;
		}
		string Verb
		{
			get;
		}
		RequestAttributes RequestAttributes
		{
			get;
			set;
		}
		IRequestPreferences RequestPreferences
		{
			get;
		}
		object Dto
		{
			get;
			set;
		}
		string ContentType
		{
			get;
		}
		bool IsLocal
		{
			get;
		}
		string UserAgent
		{
			get;
		}
		IDictionary<string, Cookie> Cookies
		{
			get;
		}
		string ResponseContentType
		{
			get;
			set;
		}
		bool HasExplicitResponseContentType
		{
			get;
		}
		Dictionary<string, object> Items
		{
			get;
		}
		INameValueCollection Headers
		{
			get;
		}
		INameValueCollection QueryString
		{
			get;
		}
		INameValueCollection FormData
		{
			get;
		}
		bool UseBufferedStream
		{
			get;
			set;
		}
		string RawUrl
		{
			get;
		}
		string AbsoluteUri
		{
			get;
		}
		string UserHostAddress
		{
			get;
		}
		string RemoteIp
		{
			get;
		}
		bool IsSecureConnection
		{
			get;
		}
		string[] AcceptTypes
		{
			get;
		}
		string PathInfo
		{
			get;
		}
		Stream InputStream
		{
			get;
		}
		long ContentLength
		{
			get;
		}
		IHttpFile[] Files
		{
			get;
		}
		Uri UrlReferrer
		{
			get;
		}
		string GetRawBody();
	}
}
